Skip to content

V0.2.0#39

Merged
csd113 merged 12 commits into
mainfrom
v0.2.0
Jun 6, 2026
Merged

V0.2.0#39
csd113 merged 12 commits into
mainfrom
v0.2.0

Conversation

@csd113

@csd113 csd113 commented Jun 6, 2026

Copy link
Copy Markdown
Owner

final prep for v1.0

csd113 added 12 commits May 26, 2026 16:59
Add deterministic full-site backup archives with manifest.toml metadata, SQLite snapshotting, SHA-256 hashes, required runtime directories, media/assets coverage, and explicit opt-in Tor onion-service key handling.

Harden restore by treating archives as hostile input: validate entry types, paths, duplicate entries, manifest contents, hashes, settings, SQLite integrity, schema compatibility, and approved runtime roots before swapping live data. Stage restores in tmp, create pre-restore safety backups, serialize operations with a lock, roll back failed installs, and restrict restored Tor key permissions.

Expose the workflow through the admin Backups page with manual creation, admin-only downloads, restore-from-upload confirmation, automatic backup settings, retention controls, recent history, CSRF/admin auth, and no-JS-compatible forms. Add scheduled automatic backups disabled by default with settings.toml-compatible defaults.

Update README and changelog with usage, defaults, warnings, format details, and restore procedure. Add Rust coverage for manifest/hash validation, malicious archive rejection, staging, retention, Tor key include/exclude, rollback, config compatibility, and concurrent operation handling, plus ignored Playwright coverage for backup/download, fresh and populated restore, scheduler retention, malicious upload rejection, Firefox no-JS, and WebKit smoke.

Validation run: cargo fmt --all --check; cargo clippy --workspace --all-targets --all-features -- -D warnings -D clippy::all -D clippy::pedantic -D clippy::nursery -D clippy::cargo; cargo test --workspace --all-features; npx playwright test tests/playwright/backup_restore.spec.mjs --project=chromium; targeted Firefox no-JS and WebKit smoke Playwright runs.
Pre-release alpha migration history was squashed before public release.
Future public schema changes use normal forward migrations.
Introduce shared card and section gaps across timelines, notifications, account lists, search, profiles, and threads. Remove duplicate post margins, preserve intentional section hierarchy, add a render regression test, and ignore Playwright CLI artifacts.
@csd113
csd113 merged commit e0b6971 into main Jun 6, 2026
7 checks passed
@csd113
csd113 deleted the v0.2.0 branch June 6, 2026 02:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant